可擴展標記語言(Extensible Markup Language, XML)是一種標記語言,將文字和文字的相關資訊結合,透過一些符號、標記告訴電腦我希望如何呈現這些文字內容,XML 有一個好朋友叫做 HTML,相信大家應該都蠻熟悉的。
主要功能是做 Server 和 Client 資料交換,提供描述結構化資料的格式,並且可以允許使用者自行定義標記,透過標記對傳輸的資料做描述;更棒的是 XML 能在網頁跟應用程式間,直接讀取及傳遞資料。
Android 提供了以 XML 為基礎的方式設計使用者介面,自定義了像是 Button、TextView 等等物件(這兩個物件在前一天選號機專案都有使用到喔~),多虧了這些優秀的自訂標籤,我們只需要改變物件的參數,就可以直接修改介面,不需要改 Java 或是 Kotlin 的程式碼。
看到 activity_main.xml 這個檔案,每當我們拖曳一個物件到畫面上時就會看到 Code 的部分多了像是下面範例的東西,會有預設的數值,我們可以通過修改 Design 介面上的數值或是修改 Code 調整物件的狀態、長相以及位置等等。
除了自訂標籤外,XML 的格式也很棒!小於 <、大於 > 都是彼此相對的,有開必有閉,不像奇怪的HTML。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<Button
...
/>
<ImageView
...
/>
今天只有很簡單的介紹一下 XML,這邊很推薦大家去看看下面參考資料的內容,會更加了解 XML 得魔力還有 Android 自定義物件的威力。
下一篇會先來介紹一些常用的物件!
[XML]02-基本認識
https://ithelp.ithome.com.tw/articles/10073956
Android Studio - XML是甚麼?
https://ithelp.ithome.com.tw/articles/10239249
XML是什麼?可延伸標記式語言基本介紹|天矽科技客製化網頁設計
https://www.tsg.com.tw/blog-detail2-112-0-xml.htm
Android Studio-理解XML
https://www.youtube.com/watch?v=TCbM93ueCng&list=PLsEC4qT8YxBLvNJBs1a_hHd2iwSrHieKu&index=6&t=487s